package edu.gdkm.dao;

import edu.gdkm.pojo.Resume;

import java.util.List;

public interface ResumeDAO {
    /**
     * 插入简历信息
     * @param resume 简历对象
     * @return 影响的行数
     */
    int insert(Resume resume);

    /**
     * 根据ID删除简历
     * @param id 简历ID
     * @return 影响的行数
     */
    int deleteById(Long id);

    /**
     * 更新简历信息
     * @param resume 简历对象
     * @return 影响的行数
     */
    int update(Resume resume);

    /**
     * 根据ID查询简历
     * @param id 简历ID
     * @return 简历对象
     */
    Resume selectById(Long id);

    /**
     * 查询所有简历
     * @return 简历列表
     */
    List<Resume> selectAll();

    /**
     * 根据用户ID查询简历
     * @param userId 用户ID
     * @return 简历列表
     */
    List<Resume> selectByUserId(Long userId);

    /**
     * 根据简历名称查询简历
     * @param resumeName 简历名称
     * @return 简历列表
     */
    List<Resume> selectByResumeName(String resumeName);

    /**
     * 根据可见性查询简历
     * @param visibility 可见性（0-私密，1-公开）
     * @return 简历列表
     */
    List<Resume> selectByVisibility(Integer visibility);

    /**
     * 根据模板ID查询简历
     * @param templateId 模板ID
     * @return 简历列表
     */
    List<Resume> selectByTemplateId(String templateId);
}

